/*   
 * Copyright (c) 2010-2020 DMGIS Ltd. All Rights Reserved.   
 *   
 * This software is the confidential and proprietary information of   
 * DMGIS. You shall not disclose such Confidential Information   
 * and shall use it only in accordance with the terms of the agreements   
 * you entered into with DMGIS.   
 *   
 */     
package com.dmgis.qxfw.dataservice.businessservice.common.util;

import com.aspose.words.Document;
import com.aspose.words.License;
import com.aspose.words.SaveFormat;
import jcifs.smb.SmbFile;
import jcifs.smb.SmbFileInputStream;
import org.aspectj.weaver.ast.Test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;


/**   
 * This class is used for word转换成pdf文件 
 * @author dsq 
 * @version   
 *       1.0, 2018年7月14日 下午10:55:03   
 */  
public class Word2PdfUtil {

	 public static boolean getLicense() {
	        boolean result = false;
	        try {
	        	System.out.println(Test.class.getClassLoader());
	            InputStream is = Test.class.getClassLoader().getResourceAsStream("license.xml"); // license.xml应放在..\WebRoot\WEB-INF\classes路径下
	            License aposeLic = new License();
	            aposeLic.setLicense(is);
	            result = true;
	        } catch (Exception e) {
	            e.printStackTrace();
	        }
	        return result;
	    }
	 
	    public static void doc2pdf(String inPath, String outPath) {
	        if (!getLicense()) { // 验证License 若不验证则转化出的pdf文档会有水印产生
	            return;
	        }
	        try {
	            long old = System.currentTimeMillis();
	            File file = new File(outPath); // 新建一个空白pdf文档
	            FileOutputStream os = new FileOutputStream(file);
	            File inFile=new File(inPath);
	            Document doc = new Document(new FileInputStream(inFile)); // Address是将要被转化的word文档
	            doc.save(os, SaveFormat.PDF);// 全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF,
	                                         // EPUB, XPS, SWF 相互转换
	            long now = System.currentTimeMillis();
	            System.out.println("共耗时：" + ((now - old) / 1000.0) + "秒"); // 转化用时
	        } catch (Exception e) {
	            e.printStackTrace();
	        }
	    }
	    /**  
	     * 共享文件导出pdf到本地
	     * @param inPath
	     * @param outPath  
	     * @author dsq
	     * @date 2018年7月18日
	     */   
	    public static void smbdoc2pdf(SmbFile inFile, String outPath) {
	        if (!getLicense()) { // 验证License 若不验证则转化出的pdf文档会有水印产生
	            return;
	        }
	        try {
	            long old = System.currentTimeMillis();
	            File file = new File(outPath); // 新建一个空白pdf文档
	            FileOutputStream os = new FileOutputStream(file);
	            Document doc = new Document(new SmbFileInputStream(inFile)); // Address是将要被转化的word文档
	            doc.save(os, SaveFormat.PDF);// 全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF,
	                                         // EPUB, XPS, SWF 相互转换
	            long now = System.currentTimeMillis();
	            System.out.println("共耗时：" + ((now - old) / 1000.0) + "秒"); // 转化用时
	        } catch (Exception e) {
	            e.printStackTrace();
	        }
	    }
}
  